#pragma once

#include "ScanResult.h"
extern "C"
{
#include <clamav.h>
}

namespace GPUCC
{
	class ClamAVScanner
	{
	public:
		static bool Init();

		ClamAVScanner();
		~ClamAVScanner();

		bool Init(const std::string& SignatureFolder);
		bool ScanFile(const std::string& Path, ScanResult& Result);

	private:
		static bool m_IsInitialized;
		cl_engine* m_Engine;
		unsigned int m_NumberOfSignatures;
	};
}